
1. Overview
Welcome to the Design Hub API, developed by Basesite!
This API provides report writers an interface to access and interact with the services and data offered by the FCE Suite of applications. Whether using PowerBI, Excel, or other reporting tools, our API provides integration to fetch, filter, and manipulate data to meet your specific reporting needs. By offering detailed and structured data, the API enables you to generate reports that can drive informed decision-making and streamline business processes.
2. Base URL
For users within Intel, the APIs are available in two environments to support various stages: UAT and PRODUCTION. Each environment has its base URL, allowing you to test and validate your reports in controlled settings.
2.1. Client Credentials
Use the details below to connect to the Design Hub API in all environments
Please use the Support button in LSPx to log a ticket, providing details below:
- Your role
- Your Company
- Why you need the API
3. Choosing the Right Environment
The UAT environments have a “-uat” in the API URL. Remove this to use the production URL.
- Production Phase: use the PRODUCTION environment to ensure you work with live, accurate data.
- Pre-Deployment Phase: use the UAT environment for thorough testing and validation, focusing on user acceptance.
4. API URL per Feature
4.1. DAC Endpoints
Refer to the User Guide for how to create, submit and complete DACs in the LSPx application.
GET all DAC Data [by site, company and date]
APIs for DAC data are available in UAT and Production, containing all the DACs from LSPx. You can use the following URLs to GET the DAC data for all companies and sites:
- PRODUCTION api_url = "https://fcelspx.build.intel.com/designhub/api/FormsAPI/GetDACDataByCompanyAndSite?companyName=Jacobs&siteName=ireland”
- UAT api_url = "https://fcelspx-uat.build.intel.com/designhub/api/FormsAPI/GetDACDataByCompanyAndSite?companyName=Jacobs&siteName=ireland"
DAC API Parameters
By default, this endpoint retrieves all DACs if no filters are provided, which may take some time. The API supports the following optional parameters:
- SiteName: Gets all records for a specific site.
- CompanyName: Gets all records for a specific Company.
- startDate: If provided, returns DACs created on or after this date. When used with endDate, returns DACs between the two dates. Format: YYYY-MM-DD (e.g., 2026-03-25)
- endDate: If provided, returns DACs created on or before this date. When used with startDate, returns DACs between the two dates. Format: YYYY-MM-DD (e.g., 2026-03-26)
- excludeTransitions: If true, transitions will be excluded from the response to improve performance. Default value : true
- excludeAttachments: If true, attachments will be excluded from the response to improve performance. Default value : true
- excludeComments: If true, comments will be excluded from the response to improve performance. Default value : true
- excludeSupportEquip: If true, support equipment questions will be excluded from the response to improve performance. Default value : true
4.2. DCR Endpoints
Refer to the User Guide for how to create, submit and complete DACs in the LSPx application.
GET all DCR Data [All Sites]
To get DCR Endpoint details, please use the Support button in LSPx to log a ticket, providing details below:
- Your role
- Your Company
- Why you need the DCR Endpoint API
4.3. ROD Endpoints
Refer to the User Guide for how to create, submit and complete RODs in the LSPx application.
All RODs for all Sites and Companies
APIs for the RODs are available in UAT and Production, containing all the RODs in LSPx. You can use the following URL to GET ROD data for all companies on all sites:
- PRODUCTION api_url = "https://fcelspx.build.intel.com/designhub/api/Issue/GetIssueRodList?siteName=Ireland&skip=10&take=100&companyName=DPS”
- UAT api_url = "https://fcelspx-uat.build.intel.com/designhub/api/Issue/GetIssueRodList?siteName=Ireland&skip=10&take=100&companyName=DPS”
By default, this endpoint retrieves all RODs if no filters or pagination settings are applied, which may take some time. If you leave the options below blank, the request will return all RODs from all sites. However, this may result in a longer processing time:
- siteName: This parameter represents the name of a specific site you want to get the RODs for. For example, you can enter Ireland. You can only get details of one site at a time. Leave blank to retrieve records for all sites.
- skip: Tells the API how many records to skip before starting to return results. It is useful for navigating through pages of data. For example, if you have already seen the first 10 records, setting skip=10 will move to the next set of records. Leave blank to retrieve records for all sites.
- take: Determines how many records should be returned in the response. For example, take=100 will return up to 100 records. Leave blank to return all records.
- companyName: Refers to the name of a company you want to see their RODs. It is useful for filtering data related to a specific companies in LSPx. For example, you can enter DPS. You can only get details of one company at a time. Leave blank to get all companies.
- excludeAttachments: You can exclude attachments from the results by choosing "false". Choose "true" if you want to include this data in your result.*
- excludeComments: You can exclude comments from the results by choosing "false". Choose "true" if you want to include this data in your result.*
- startDate: If provided, results will return RODs created on or after this date. When used with endDate, it will return result of RODs between the two dates. Use this Format: YYYY-MM-DD (e.g., 2024-02-14)*
- endDate: If provided, results will return RODs created on or after this date. When used with startDate, it will return result of RODs between the two dates. Use this Format: YYYY-MM-DD (e.g., 2025-02-14)*
If "Skip" or "Take" parameters are used, the data will be paginated accordingly. This divides large sets of data into smaller, manageable chunks (or pages) instead of returning everything at once. This improves performance, reduces server load, and speeds up response times. Remove &skip=10&take=100 from the URL if you want records for all sites.
If you don't want to use siteName parameter, remove siteName=Ireland& from the URL. Refer the below table for the site names you can use.
If companyName parameter is used, all RODs data for that company will be retrived. Remove &companyName=DPS from the URL if you want records for all companies.
If both siteID and companyName parameters are used, all RODs data for that company on the site will be retrived. In the URL replace the company and siteId to suit your needs. Using the example above, you can change “DPS” to “Jacobs”. You can change "Ireland" to your any of the sites listed in the table given below e.g. "Arizona".
If you don't want to use any parameters, remove ?siteName=Ireland&skip=10&take=100&companyName=DPS from the URL.
Additional Information
- HTML tags for Problem Statement Proposed Solution Solution are not included in the retrieved data.
- Turnaround Times are presented in hours and days.
- The data will display the names and email addresses of AC, PM, and Reporter.
- You can filter the RODs by date.
| Site Id | Site Name |
|---|---|
| 1 | Virtual Factory |
| 2 | Ireland |
| 4 | Arizona |
| 5 | Ronler Acres |
| 6 | Santa Clara |
| 7 | Aloha |
| 8 | Qiryat Gat |
| 9 | Vietnam |
| 10 | Chandler |
| 11 | Costa Rica |
| 12 | Rio Rancho |
| 13 | Jerusalem |
| 14 | Kulim |
| 15 | Penang |
| 16 | Pudong |
| 17 | Dalian |
4.4. SDD Endpoints
Refer to the User Guide for how to create, submit and complete SDDs in the LSPx application.
All SDDs for all Sites and Companies
APIs for the SDDs are now available in UAT and Production, containing all the SDDs from FCEConnect. You can use the following URL to GET SDD data for all companies on all sites:
- PRODUCTION api_url = "https://fcelspx.build.intel.com/designhub/api/FormsAPI/GetSDDsList?siteId=1&skip=10&take=100&companyName=DPS”
- UAT api_url = "https://fcelspx-uat.build.intel.com/designhub/api/FormsAPI/GetSDDsList?siteId=1&skip=10&take=100&companyName=DPS”
By default, this endpoint retrieves all SDDs if no filters or pagination parameters are provided, which may take some time. However, the API supports the following optional parameters:
- SiteId: Set it to 1 to get virtual factory SDDs.
- Skip: Specifies the number of records to skip.
- Take: Specifies the number of records to retrieve.
- CompanyName: GETs all records for a specific Company.
If both Skip and Take parameters are used, the data will be paginated accordingly. If you don't want to use Skip and Take parameters, remove &skip=10&take=100 from the URL.
If siteId parameter is used, all SDDs data for that site will be retrived. If you don't want to use SiteId parameter, remove siteId=1& from the URL. Refer the below table for the site Id's for each site.
If CompanyName parameter is used, all SDDs data for that company will be retrived. If you don't want to use Company Name parameter, remove &companyName=DPS from the URL.
If both SiteID and CompanyName parameters are used, all SDDs data for that company and for that specific site will be retrived. In the URL replace the company and siteId to suit your needs. Using the example above, change “DPS” to “Jacobs”. Change "2" to your siteid as per the table given below.
If you don't want to use SiteID and Company Name parameters, remove siteId=1& and &companyName=DPS from the URL. If you don't want to use any parameters, remove ?siteId=1&skip=10&take=100&companyName=DPS from the URL.
| Site Id | Site Name |
|---|---|
| 1 | Virtual Factory |
4.5. RP Schedule Endpoints
All RP schedule data
APIs for the SDDs are now available in UAT and Production, containing all the SDDs from FCEConnect. You can use the following URL to GET SDD data for all companies on all sites:
- PRODUCTION api_url = "https://fcelspx.build.intel.com/designhub/api/Lspx/GetRPScheduleData?skip=0&take=10000”
- UAT api_url = "https://fcelspx-uat.build.intel.com/designhub/api/api/Lspx/GetRPScheduleData?skip=0&take=10000”
By default, this endpoint retrieves all data if pagination parameters are not provided, which may take some time. However, the API supports the following optional parameters:
- Skip: Specifies the number of records to skip.
- Take: Specifies the number of records to retrieve.
If both Skip and Take parameters are used, the data will be paginated accordingly. If you don't want to use Skip and Take parameters, remove &skip=0&take=10000 from the URL.
If you don't want to use any parameters, remove ?skip=0&take=10000 from the URL.
5. Example Request
Follow the instructions below to connect to the APIs using PowerBI or Excel:
5.1. Connecting via PowerBI
To connect to the API via PowerBI, please use the Support button in LSPx to log a ticket requesting a sample file or the API credentials. Then you can follow these steps below:
- Open PowerBI on your desktop and create a blank report.
- Launch the Power Query Editor by clicking the Transform Data button
- Click on Enter Data
- Create an empty table.
- Click on the Advanced Editor button
- Replace the code with the Power Query code below
- Replace the token_url, client_id, and client_secret with those supplied by the LSPx support team.
Power Query for PowerBI
let
// Variables for token acquisition
// Contact the LSPx support team for the following variables
token_url = "",
client_id = "",
client_secret = "",
scope = "api://lspxscopes/.default",
token_body = "grant_type=client_credentials&client_id=" & client_id & "&client_secret=" & client_secret & "&scope=" & Uri.EscapeDataString(scope),
// Obtain the token
TokenResponse = Web.Contents(token_url,
[
Content = Text.ToBinary(token_body),
Headers=[#"Content-Type"="application/x-www-form-urlencoded", #"Accept"="application/json"]
]),
AccessToken = Json.Document(TokenResponse)[access_token],
// API Call with the token
api_url_base = "https://fcelspx.build.intel.com/designhub/api/Issue/GetIssueRodList",
queryParams = "?siteName="&siteName&"&companyName="&companyName&"&startDate=2026-06-01&endDate=2026-12-31",
FullApiUrl = api_url_base & queryParams,
ApiHeaders = [Authorization="Bearer " & AccessToken, Accept="application/json"],
ApiResponse = Web.Contents(FullApiUrl, [Headers=ApiHeaders]),
// Parse the JSON response
ParsedJson = Json.Document(ApiResponse),
list = ParsedJson[list],
#"Converted to Table" = Table.FromList(list, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"}, {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"})
in
#"Expanded Column1"
5.2. Connecting via Excel
To connect to the API with Excel, please use the Support button in LSPx to log a ticket requesting a sample file or the API credentials. Then you can follow these steps below:
- Open Excel on your desktop and create a blank workbook.
- Launch the Power Query Editor [Data > Get Data > Launch Power Query Editor]
- Click on Enter Data
- Create an empty table.
- Click on the Advanced Editor button
- Replace the code with the Power Query code below
- Replace the token_url, client_id, and client_secret with those supplied by the LSPx support team.
Power Query for Excel
let
// Variables for token acquisition
// Contact the LSPx support team for the following variables
token_url = "",
client_id = "",
client_secret = "",
scope = "api://lspxscopes/.default",
token_body = "grant_type=client_credentials&client_id=" & client_id & "&client_secret=" & client_secret & "&scope=" & Uri.EscapeDataString(scope),
// Obtain the token
TokenResponse = Web.Contents(token_url,
[
Content = Text.ToBinary(token_body),
Headers=[#"Content-Type"="application/x-www-form-urlencoded", #"Accept"="application/json"]
]),
// Parse the token response
AccessTokenRecord = Json.Document(TokenResponse),
AccessToken = AccessTokenRecord[access_token],
// API Call with the token
api_url_base = "https://fcelspx.build.intel.com/designhub/api/Issue/GetIssueRodList",
queryParams = "?siteName=Ireland&skip=0&companyName=Jacobs&startDate=2026-06-02&endDate=2026-06-03",
FullApiUrl = api_url_base & queryParams,
ApiHeaders = [Authorization="Bearer " & AccessToken, Accept="application/json"],
ApiResponse = Web.Contents(FullApiUrl, [Headers=ApiHeaders]),
// Parse the JSON response
ParsedJson = Json.Document(ApiResponse),
// Parse the JSON response
list = ParsedJson[list],
#"Converted to Table" = Table.FromList(list, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"}, {"Column1.issueId", "Column1.summary", "Column1.deparment", "Column1.problemStatement", "Column1.proposedSolution", "Column1.solution", "Column1.watchers", "Column1.updatedDate", "Column1.createdDate", "Column1.impact3dDetailing", "Column1.gitCategory", "Column1.impactedPocsCount", "Column1.initiatorContactNumber", "Column1.issueTypeName", "Column1.siteName", "Column1.siteCode", "Column1.siteId", "Column1.issuekey", "Column1.entityCodeLife", "Column1.project", "Column1.ceid", "Column1.fa", "Column1.rodType", "Column1.discipline", "Column1.aeDesignLead", "Column1.aeFirm", "Column1.statusName", "Column1.assignedToEmail", "Column1.assignedToUser", "Column1.issueUpdatedBy", "Column1.reporterEmail", "Column1.assignedToCompany", "Column1.reporterCompany", "Column1.isActive", "Column1.isInstruction", "Column1.aeFirmCompany", "Column1.assignedCompany", "Column1.issueKeyString", "Column1.impactedTools", "Column1.tradeCompany", "Column1.dueDate", "Column1.lastResponseDate", "Column1.dayslastResponse", "Column1.daysOpen", "Column1.bay", "Column1.facilityName", "Column1.closeddate", "Column1.ac", "Column1.pm", "Column1.reportedBy", "Column1.assigneeReporter", "Column1.processName", "Column1.attachments"})
in
#"Expanded Column1"
6. Training Video
7. Support
If you have any questions or need further assistance, please use the Support button in LSPx to log a ticket.